#pragma once
#ifndef CONCREATE_FACTORY_HEADER
#define CONCREATE_FACTORY_HEADER
#include "AbstractFactory.h"
/*ConcreteFactory, the factory that makes product*/
class ConcreteFactory :public AbstractFactory 
{
public:
	AbstractProduct* createProduct(const std::string &type) override;

	AbstractProduct* createProduct(const char *type) override;

	//no need for product to recycle yet
	//void destroyProduct(AbstractProduct *p) override;
};
#endif